Field
The described embodiments relate to multi-level memory hierarchies. More specifically, the described embodiments relate to techniques for pinning objects in multi-level memory hierarchies.
Related Art
Some computer systems are used for processing large-scale (or “exascale”) workloads. To meet memory demands associated with processing large-scale workloads, such computer systems can include two or more levels of memory organized in a multi-level memory hierarchy. In some of these computer systems, some or all of the levels of the multi-level memory hierarchy are implemented using different types of memory (i.e., memory circuits having different architectures, circuit structures, organization, etc.). For example, multi-level memory hierarchies may include some or all of dynamic random access memory (DRAM) or die-stacked DRAM, phase-change memory (PCM), non-volatile memory such as flash, etc. Each type of memory is associated with various characteristics, benefits, and limitations. For example, some types of memory, such as die-stacked DRAM and PCM, enable faster memory accesses, but consume more electrical power, are more expensive, produce more heat, etc. As another example, some types of memory, such as flash memory, are cheaper and more scalable, but provide slower access speeds.
In some cases, objects (data, instructions, etc.) may be stored in levels of multi-level memory hierarchies for which the corresponding type of memory is less than optimal for storing the object. For example, an object that is accessed often may be stored in a slower type of memory—thereby requiring more time for accesses than if the object was stored in a faster type of memory. As another example, an object that takes up a larger amount of space may be stored in a smaller and expensive high-speed type of memory, instead of being stored in a slower, but larger and cheaper type of memory. Because efficient operation of the memory system is an important aspect of the overall operation of computer systems, the storage of objects in multi-level memory hierarchies that include different types of memories is a concern.
In the figures, like reference numerals refer to the same figure elements.